Modern electronic devices, such as computers, often attach peripheral devices to a primary or main computing system in a standardized protocol. For example, many computing systems couple peripheral devices, such as hard disk drives, to the system using the well-known Small Computer System Interface (SCSI) protocol.
In some systems, an enclosure houses one or more peripheral devices in a protective case or rack that often includes intelligent services. For example, some enclosures can operate to monitor temperature, cooling, power, component identification, and other useful device characteristics. SCSI Enclosure Services (SES) is one protocol that supports tracking these non-data characteristics of peripheral devices.
In some SES systems, called “virtual SES” (VSES) systems, a firmware or software engine replaces SES functionality that in non-virtual SES systems typically resides on a physical adapter in either the SES backplane or the host system SCSI adapter. Some VSES systems employ the well-known I2C (Inter IC) protocol to communicate between the virtual SES engine and the SES backplane. Generally, I2C permits multiple bus masters on a single bus. I2C is a trademark of Philips Corp.
In certain VSES designs, the VSES system includes two I2C ports, each of which is enabled or disabled based on certain dynamic system states. This dynamic power up/power down timing frequently causes the I2C ports to stall or “hang up,” a costly and difficult to predict failure condition. Some attempted solutions exist, but the current solutions offered to address this problem suffer from disadvantages.
For example, one solution couples one I2C port to a standby power domain and another I2C port to a main power domain. This approach, however, typically requires two separate I2C modules with distinct I2C engines, as current I2C chips do not support multiple power domain operation. Adding an additional I2C chip increases costs and reduces the circuit board space available to other system components.
Therefore, there is a need for a system and/or method for bus communications, particularly, virtual SES bus communications, that addresses at least some of the problems and disadvantages associated with conventional systems and methods.